/******************************************************************************
 *  _____     _____
 *  \  __\    \  __\
 *   \ \_\\    \ \_\\
 *    \  __\SS  \  __\roject
 *     \_\       \_\
 *
 * Mateusz Maciąg, Rafał Urbański
 * Komputerowe Systemy Sterowania
 *****************************************************************************/

#ifndef INPUTDESIGNER_H
#define INPUTDESIGNER_H

#include <QFrame>

#include "SimInterface/IConfigurable.h"

/**
    Klasa bazowa dla edytorów wejść
*/
class InputDesigner : public QFrame
{
    Q_OBJECT

public:
    explicit InputDesigner(QWidget *parent) : QFrame(parent) {}
    virtual ~InputDesigner() {}

    /**
        Łączy wejście z widgetem konfiguracyjnym
    */
    virtual void attachInput(RafMat::SimInterface::IConfigurableSPtr ctrl) = 0;

    /**
        Zapisuje modyfikacji w konfiguracji wejścia.
    */
    virtual void applySettings() = 0;
};


#endif // INPUTDESIGNER_H
